<?php
namespace App\Services\Portal;

use App\Models\Portal\DiscuzNavModel;
use App\Models\Portal\DiscuzCategoryModel;

class HomeService
{

    /**
     * 得到Discuz中的主导航列表
     * @return \Illuminate\Support\Collection
     */
    static public function getMainNavListByDiscuz()
    {
        $fields = [
            DiscuzNavModel::FIELD_ID,
            DiscuzNavModel::FIELD_NAME,
            DiscuzNavModel::FIELD_URL,
            DiscuzNavModel::FIELD_ISNEW,
            DiscuzNavModel::FIELD_ISHOT
        ];
        $wheres = [
            [DiscuzNavModel::FIELD_NAVTYPE, '0'],
            [DiscuzNavModel::FIELD_AVAILABLE, '1']
        ];

        $navigations = DiscuzNavModel::select($fields)
            ->where($wheres)
            ->orderBy(DiscuzNavModel::FIELD_DISPLAYORDER)
            ->get();

        return $navigations;
    }

    /**
     *  获取门户友情链接列表
     *
     * @author gongm
     * @data 2018年3月1日
     */
    static public function getLinksByDiscuz()
    {
        // 转调 api 项目的推荐文章数据接口，后续在2.0项目上重新实现
        $url_api_links = 'https://service.tongwei.cn/v1.3/2.0/web/portal/friendlink';
        $response = json_decode(file_get_contents($url_api_links));
        $links = $response->response_data->data;

        return $links;
    }

    /**
     *  获取门户底部统计数据概览
     *
     * @author gongm
     * @data 2018年3月1日
     */
    static public function getOverviews()
    {
        // 转调 api 项目的推荐文章数据接口，后续在2.0项目上重新实现
        $url_api_overview = 'https://service.tongwei.cn/v1.3/2.0/web/portal/summary';
        $response = json_decode(file_get_contents($url_api_overview));
        $overviews = $response->response_data->data->summary;

        return $overviews;
    }

    /**
     *  获取门户首页推荐列表
     *
     * @author gongm
     * @data 2018年2月5日
     */
    static public function getRecommends($page, $pageSize)
    {
        // 先转调 api 项目的推荐文章数据接口，后续在2.0项目上重新实现
        $url_api_articles = "http://api.tongwei.cn/ApiNews/getArticleByPage?page=$page&pageSize=$pageSize";
        $response = json_decode(file_get_contents($url_api_articles));
        $recommends = $response->data;

        return $recommends;

        //todo 后续推荐系统1.0开发完成后，转调推荐系统的相应接口返回推荐列表数据
    }

    /**
     *  获取门户首页推荐列表
     *
     * @author gongm
     * @data 2018年2月5日
     */
    static public function getArticles($catId, $page, $pageSize)
    {
        // 先转调 api 项目的推荐文章数据接口，后续在2.0项目上重新实现
        $url_api_articles = "http://api.tongwei.cn/ApiNews/getArticleByPage?catId=$catId&page=$page&pageSize=$pageSize";
        $response = json_decode(file_get_contents($url_api_articles));
        $articles = $response->data;

        return $articles;
    }

    /**
     *  获取社区资讯门户Banner列表
     *
     * @author gongm
     * @data 2017年2月26日
     */
    static public function getBanners()
    {
        // 先转调 api 项目的 DiscuzX3.2 banners 数据接口，等门户首页的 Banners 后台管理配置功能开发完成后，转调获取新的 Banners 表配置数据
        $url_api_banners = 'https://service.tongwei.cn/v1.3/2.0/web/portal/banners';
        $response = json_decode(file_get_contents($url_api_banners));
        $banners = $response->response_data->data->banners;

        return $banners;
    }

    /**
     *  获取门户首页文章分类 Category 列表
     *
     * @author gongm
     * @data 2017年2月26日
     */
    static public function getCategories()
    {
        $fields = [
            DiscuzCategoryModel::FIELD_CATID,
            DiscuzCategoryModel::FIELD_CATNAME
        ];
        $wheres = [
            [DiscuzCategoryModel::FIELD_UPID, '1'],
            [DiscuzCategoryModel::FIELD_CLOSED, '0']
        ];

        $categories = DiscuzCategoryModel::select($fields)
            ->where($wheres)
            ->orderBy(DiscuzCategoryModel::FIELD_DISPLAYORDER)
            ->get();

        return $categories;
    }

    /**
     *  获取门户首页 供应 列表
     *
     * @author gongm
     * @data 2018年3月1日
     */
    static public function getSupplies()
    {
        //转调 api 项目的 DiscuzX3.2 hots 数据接口
        $url_api_supplies = 'https://service.tongwei.cn/v1.3/2.0/web/portal/supply/list';
        $response = json_decode(file_get_contents($url_api_supplies));
        $supplies = $response->response_data->data;

        return $supplies;
    }

    /**
     *  获取门户首页 求购 列表
     *
     * @author gongm
     * @data 2018年3月1日
     */
    static public function getDemands()
    {
        //转调 api 项目的 DiscuzX3.2 hots 数据接口
        $url_api_demands = 'https://service.tongwei.cn/v1.3/2.0/web/portal/demand/list';
        $response = json_decode(file_get_contents($url_api_demands));
        $demands = $response->response_data->data;

        return $demands;
    }

    /**
     *  获取门户首页 鱼病问题 列表
     *
     * @author gongm
     * @data 2018年3月1日
     */
    static public function getQuestions()
    {
        //转调 api 项目的 DiscuzX3.2 hots 数据接口
        $url_api_questions = 'https://service.tongwei.cn/v1.3/2.0/web/portal/question/list';
        $response = json_decode(file_get_contents($url_api_questions));
        $questions = $response->response_data->data;

        return $questions;
    }

    /**
     *  获取门户首页热门 hot 列表
     *
     * @author gongm
     * @data 2018年2月27日
     */
    static public function getHots()
    {
        //先转调 api 项目的 DiscuzX3.2 hots 数据接口，等门户首页的 热门资讯 后台管理配置功能开发完成后，转调获取新的 Hots 数据
        $url_api_hots = 'https://service.tongwei.cn/v1.3/2.0/web/portal/hots';  //'http://api.tongwei.cn/ApiNews/getHotInfo';
        $response = json_decode(file_get_contents($url_api_hots));
        $hots = $response->response_data->data->hots;

        return $hots;
    }

}